﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.informix
{
	// Token: 0x020001AE RID: 430
	public class TInformixCreateRowTypeStmt : TCustomSqlStatement
	{
		// Token: 0x1700029C RID: 668
		// (get) Token: 0x06000E68 RID: 3688 RVA: 0x0030A0CC File Offset: 0x003082CC
		// (set) Token: 0x06000E69 RID: 3689 RVA: 0x0030A0D4 File Offset: 0x003082D4
		public virtual TColumnDefinitionList ColumnList
		{
			get
			{
				return this.columnList;
			}
			set
			{
				this.columnList = value;
			}
		}

		// Token: 0x1700029D RID: 669
		// (get) Token: 0x06000E6A RID: 3690 RVA: 0x0030A0DD File Offset: 0x003082DD
		// (set) Token: 0x06000E6B RID: 3691 RVA: 0x0030A0E5 File Offset: 0x003082E5
		public virtual TObjectName RowTypeName
		{
			get
			{
				return this.rowTypeName;
			}
			set
			{
				this.rowTypeName = value;
			}
		}

		// Token: 0x1700029E RID: 670
		// (get) Token: 0x06000E6C RID: 3692 RVA: 0x0030A0EE File Offset: 0x003082EE
		// (set) Token: 0x06000E6D RID: 3693 RVA: 0x0030A0F6 File Offset: 0x003082F6
		public virtual TObjectName SuperTableName
		{
			get
			{
				return this.superTableName;
			}
			set
			{
				this.superTableName = value;
			}
		}

		// Token: 0x06000E6E RID: 3694 RVA: 0x0030A0FF File Offset: 0x003082FF
		public TInformixCreateRowTypeStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstinformixCreateRowType;
		}

		// Token: 0x06000E6F RID: 3695 RVA: 0x0030A114 File Offset: 0x00308314
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TCreateRowTypeSqlNode tcreateRowTypeSqlNode = (TCreateRowTypeSqlNode)this.rootNode;
			this.rowTypeName = tcreateRowTypeSqlNode.RowTypeName;
			this.columnList = tcreateRowTypeSqlNode.ColumnList;
			this.superTableName = tcreateRowTypeSqlNode.SuperTableName;
			return 0;
		}

		// Token: 0x06000E70 RID: 3696 RVA: 0x0030A164 File Offset: 0x00308364
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000E71 RID: 3697 RVA: 0x0030A174 File Offset: 0x00308374
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			this.columnList.accept(v);
			v.postVisit(this);
		}

		// Token: 0x0400132E RID: 4910
		private TObjectName rowTypeName;

		// Token: 0x0400132F RID: 4911
		private TColumnDefinitionList columnList;

		// Token: 0x04001330 RID: 4912
		private TObjectName superTableName;
	}
}
